package ch03.demo.dao;

import ch03.demo.dao.NewsDao;
import ch03.demo.dao.impl.NewsDaoImpl;
import ch03.demo.dao.impl.NewsDaoMySqlImpl;
import ch03.demo.dao.impl.NewsDaoOracleImpl;
import ch03.demo.dao.impl.NewsDaoRedisImpl;

public class SimpleDaoFactory {
    /**
     * 创建NewsDao实例的工厂方法
     */
    public static NewsDao getInstance(String key){
        switch (key){
            case "mysql":
                return new NewsDaoMySqlImpl();
            case "oracle":
                return new NewsDaoOracleImpl();
            case "redis":
                return new NewsDaoRedisImpl();
            default:
                throw new RuntimeException("无效的数据库类型:"+key+", DAO获取失败");
        }
        //return new NewsDaoImpl();
    }
}
